7 research outputs found

    Analogy-Making as a Core Primitive in the Software Engineering Toolbox

    Full text link
    An analogy is an identification of structural similarities and correspondences between two objects. Computational models of analogy making have been studied extensively in the field of cognitive science to better understand high-level human cognition. For instance, Melanie Mitchell and Douglas Hofstadter sought to better understand high-level perception by developing the Copycat algorithm for completing analogies between letter sequences. In this paper, we argue that analogy making should be seen as a core primitive in software engineering. We motivate this argument by showing how complex software engineering problems such as program understanding and source-code transformation learning can be reduced to an instance of the analogy-making problem. We demonstrate this idea using Sifter, a new analogy-making algorithm suitable for software engineering applications that adapts and extends ideas from Copycat. In particular, Sifter reduces analogy-making to searching for a sequence of update rule applications. Sifter uses a novel representation for mathematical structures capable of effectively representing the wide variety of information embedded in software. We conclude by listing major areas of future work for Sifter and analogy-making in software engineering.Comment: Conference paper at SPLASH 'Onward!' 2020. Code is available at https://github.com/95616ARG/sifte

    A Framework for Evaluating Qualitative Research Methods in Computer Programming Education

    No full text
    Abstract. This work-in-progress paper 1 examines in detail the issue of qualitative research method evaluation. In particular, it focuses on method evaluation from the perspective of Computer Science education research. To this end, it presents the reader with an evaluative framework. The key issue underlying the development of this framework is pragmatism, i.e. one that provides the researcher with a simplistic and context-specific evaluation technique. In terms of simplicity, it proposes a broadbrush approach to evaluation where approximation is used and based on a number of evaluative criteria. In addition, the framework is based on a set of properties that may be construed as pragmatic, in terms of them reflecting issues of real importance to a researcher, who is attempting to decide on which qualitative method to use in a given context. An example of framework utilisation is then presented with respect to the Grounded Theory research method in the context of computer science education research. This entails a multiple-litmus type test on the Grounded Theory research method where measurements are presented for each of the framework properties. Finally, the paper will draw attention to the reusability of the framework by presenting its structure from a meta-perspective and indicates that it can be used to evaluate any qualitative research method in any context.

    Initial Experiences of Using Grounded Theory Research in Computer Programming Education

    No full text
    Abstract. This paper presents to the reader the issues encountered to date 1 on a grounded theory study conducted in the area of computer programming education. In this regard, it presents a list of factors namely, underlying issues, methodological clarity and context that are viewed as critical considerations whilst undertaking qualitative research. Furthermore, each of these factors are discussed in detail in terms of how they impinged on the research conducted thus far. This discussion not only highlights the extent to which they impinge on the research but will also show that they are interlinked. Finally, given the many overlaps between grounded theory and other qualitative research methods, it will be suggested that the factors uncovered in this research may be applicable to other qualitative methods and it is hoped that these may be helpful for prospective qualitative researchers embarking on similar types of projects. 1

    Learning computer programming in Irish third-level institutions : a study of first year students' experiences

    Full text link
    Over the last three decades there has been a significant amount of research conducted in the area of novice computer programming. Within the Irish context however, there has been limited amount of research in this area with the vast majority of studies conducted being quantitative in nature. Given the fact that Ireland is becoming hugely dependent on its knowledge economy, the attrition and non-completion rates in computer science reported in both Irish and international studies is becoming a cause for concern. In this study, the actual experiences of Irish novice programming students are presented in the form of a theory and the implications of this theory for the teaching and learning of the subject are discussed. This thesis presents findings from research conducted across four Irish higher education institutes with 31 participants studying first year computer programming as part of a formal course in computing. Data collection and analysis was conducted using the Strauss and Corbin (1988) variation of the Grounded Theory methodology. This model was chosen based on its suitability for inductive theory generation and learner type categorisation. The outcome of this study is a twofold. Firstly, it generates a grounded theory containing the major phenomena experienced by first year programming students. Secondly, it uses this theory to identify a number of novice programming learner types presented in the form of a learning continuum. This thesis analyses the various phenomena experienced by students as they progress through a programming syllabus and how the challenge posed by the subject may affect them in both positive and negative ways

    Business Modelling to Support the Development of Integrated Process Support Systems in the Extended Enterprise

    Get PDF
    Recent years have witnessed rapid advances in the areas of Business Process Reengineering(BPR) and Software Engineering. In order for BPR to work, successful deployment of Information Technology is imperative, with the lack of adequate IT support being cited as the single largest impediment in BPR projects. Furthermore, new business concepts such as extended enterprises and agile enterprises which build upon basic BPR call for even more complex software support in an ever-changing global business environment. This paper addresses these problems and proposes a framework which supports the design and development of information systems which support business processes in the extended enterprise.Not peer reviewe
    corecore